﻿Interface ITarget

    ''' <summary>
    ''' 采用线性参考定位
    ''' </summary>
    ''' <param name="routeLayer">路径层名</param>
    ''' <param name="routeId">路径标识</param>
    ''' <param name="measure">里程</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function LocateTarget(ByVal routeLayer As String, ByVal routeId As String, ByVal measure As Double) As Object

    ''' <summary>
    ''' 采用经纬度定位
    ''' </summary>
    ''' <param name="longitude">经度</param>
    ''' <param name="latitude">纬度</param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function LocateTarget(ByVal longitude As Double, ByVal latitude As Double) As Object

    ''' <summary>
    ''' 根据点及范围值获取几何范围对象，如果range=0，就返回该点
    ''' </summary>
    ''' <param name="point"></param>
    ''' <param name="range"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetTargetShape(ByVal point As Object, ByVal range As Integer) As Object

    ''' <summary>
    ''' 绘制目标区域
    ''' </summary>
    ''' <param name="point">目标位置</param>
    ''' <param name="range">目标范围</param>
    ''' <remarks></remarks>
    Sub MarkerTarget(ByVal point As Object, Optional ByVal range As Integer = 0, Optional ByVal backcircle As Boolean = False)


    ''' <summary>
    ''' 标注目标
    ''' </summary>
    ''' <param name="point">标注位置</param>
    ''' <param name="text">标注内容</param>
    ''' <remarks></remarks>
    Sub LabelTarget(ByVal point As Object, ByVal text As String)
   

    ''' <summary>
    ''' 闪烁显示几何对象
    ''' </summary>
    ''' <param name="shape">几何对象</param>
    ''' <param name="count">闪烁次数</param>
    ''' <remarks></remarks>
    Sub FlashTarget(ByVal shape As Object, ByVal count As Integer)

    ''' <summary>
    ''' 获取某个点在路径上的位置，
    ''' 注意：该函数后两个参数即lineName、km是引用，通过这两个参数可以获取查询得到的线路以及里程
    ''' </summary>
    ''' <param name="routeLayer">路径层名</param>
    ''' <param name="point">点位置</param>
    ''' <param name="lineName">返回的线路名</param>
    ''' <param name="km">返回的里程值</param>
    ''' <remarks></remarks>
    Sub GetTargetKM(ByVal routeLayer As String, ByVal point As Object, ByRef lineName As String, ByRef km As String)

    Sub ZoomToSelectShape(ByVal shape As Object)
End Interface


